package com.example.ck.service;

import com.example.ck.dto.UserDto;
import com.example.ck.entity.User;

import java.util.List;

public interface UserService {
    /**
     * 验证用户名是否被占用
     */
    boolean checkName(String username);

    /**
     * 注册用户
     */
    boolean registerUser(User user);

    /**
     * 登录查询用户
     */
    UserDto queryUser(String username, String password, String type);

    /**
     * 根据用户名获取用户所有信息
     */
    User findUser(String username);

    /**
     * 根据id查询用户信息
     */
    User findUserByid(Integer id);

    /**
     * 用户根据本身id修改个人信息
     */
    boolean updateUserInfo(Integer id,String header, String username, String professional,
                           String password, String email, String phone);

    /**
     * 管理员查询所有用户
     */
    List<User> queryAllUser();

    /**
     * 管理员根据id移除用户
     */
    boolean removeUserById(Integer id);

    /**
     * 管理员根据用户id修改用户信息
     */
    boolean updateUserbyId(Integer id, String email, String phone, String professional, String type);

    /**
     * 管理员获取所有的专家信息
     */
    List<User> queryAllExpert();
}
